Salesforce UX API
TMF-622 DOM Plan Purchase in Matrixx
Pruchase Discount plan for prepaid in Matrixx system (Rating system) POST:/productOrder
URL
https://[localhost]:[port]/sfdc-ux/v1/{businessId}/productOrder
url Param
name | type | description | required |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR, etc.) identifying the business unit. | Y |
Header
name | type | description | required |
---|---|---|---|
client_id | string | The client_id identifying the channel. Minimum characters: 5 | Y |
client_secret | string | Password associated with the client_id. Minimum characters: 5 | Y |
X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | Y |
channelId | string | This is to identify the source (Project).Value : BUS sfdc-b2c Conditionally Mandatory. It is Mandatory only for B2B and B2C as there are underlying conditions based on channelId received | Y |
targetSystem | string | This describes the end system request is for Eg: Aria, Matrixx.Note - For Peacock Mobile Project, it's mandatory | Y |
lob | string | This is tidentify line of business, exmaple POSTPAID, PREPAID. | Y |
cURL request
curl --location 'https://nonprod.esb.cloud.lla.com/dev/sfdc-ux/sfdc-ux/v1/PR/productOrder' \
--header 'X-Correlation-Id: 58930284' \
--header 'lob: PREPAID' \
--header 'channelId: SFDC-B2C' \
--header 'targetSystem: MATRIXX' \
--header 'client_id: abcde' \
--header 'client_secret: 123456789' \
--header 'Content-Type: application/json' \
--data-raw '{
"channel": [
{
"name": "SFDC-B2C"
}
],
"note": [
{
"@type": "TransactionId",
"text": "SFDC12345"
}
],
"billingAccount": {
"@type": "BillingAccountRef",
"id": "30005996-31005996001"
},
"relatedParty": [
{
"@type": "CustomerAccountRef",
"id": "31005996001"
}
],
"productOrderItem": [
{
"action": "nochange",
"product": {
"name": "Prepaid Subscription",
"id": "12344321",
"@type": "Subscription",
"status": "active"
},
"id": "802Pl00000NgRTBIA3",
"quantity": 1.0,
"productOrderItem": [
{
"action": "add",
"product": {
"name": "Prepaid_Template_NonShared",
"id": "a4yPl000007T0DYIA0",
"@type": "Offer",
"productCharacteristic": [
{
"name": "OfferType",
"value": "BasePlan",
"@type": "Attr"
},
{
"name": "OrderId",
"value": "1234567"
},
{
"name": "DeferredSettlement",
"value": "false"
},
{
"name": "ChargePurchaseProrationType",
"value": "0"
},
{
"name": "CommercialPlanCode",
"value": "BoostPlan",
"@type": "Attr"
},
{
"name": "CommercialPlanName",
"value": "BoostPlan",
"@type": "Attr"
},
{
"name": "TotalCharge",
"value": "30.00",
"@type": "Attr"
},
{
"name": "AutoPayDiscount",
"value": "0",
"@type": "Attr"
},
{
"name": "DataGrant",
"value": "6096",
"@type": "Attr"
},
{
"name": "HotspotGrant",
"value": "6096.00",
"@type": "Attr"
},
{
"name": "VoiceGrant",
"value": "999999",
"@type": "Attr"
},
{
"name": "TextGrant",
"value": "999999",
"@type": "Attr"
},
{
"name": "MMSGrant",
"value": "999999",
"@type": "Attr"
},
{
"name": "VoiceOriginationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "VoiceDestinationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "TextOriginationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "TextDestinationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "MMSOriginationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "MMSDestinationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "DataOriginationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "RolloverSupported",
"value": "True",
"@type": "Attr"
},
{
"name": "DataChargePercentage",
"value": {
"ParameterDefnId": "1",
"value": "0.751",
"@type": "MtxParameterDecimalValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{
"name": "VoiceChargePercentageIntra",
"value": {
"ParameterDefnId": "10",
"value": "0.2289804",
"@type": "MtxParameterDecimalValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{
"name": "VoiceChargePercentageInter",
"value": {
"ParameterDefnId": "11",
"value": "0.0200196",
"@type": "MtxParameterDecimalValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{
"name": "SmsChargePercentage",
"value": {
"ParameterDefnId": "12",
"value": "0",
"@type": "MtxParameterDecimalValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{
"name": "LifelineDiscountEnrollment",
"value": {
"ParameterDefnId": "13",
"value": "False",
"@type": "MtxParameterStringValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount1Term",
"value": {
"ParameterDefnId": "14",
"value": "24",
"@type": "MtxParameterUnsignedInt32Value"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount2Term",
"value": {
"ParameterDefnId": "15",
"value": "3",
"@type": "MtxParameterUnsignedInt32Value"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount1Name",
"value": {
"ParameterDefnId": "16",
"value": "Name1",
"@type": "MtxParameterStringValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount2Name",
"value": {
"ParameterDefnId": "17",
"value": "Name12",
"@type": "MtxParameterStringValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount1Amount",
"value": "10",
"@type": "Attr"
},
{ // New node added
"name": "Discount2Amount",
"value": "5",
"@type": "Attr"
},
{
"name": "ChargeMethod",
"value": "3"
}
],
"status": "active"
},
"id": "802Pl00000NgRTBIA3",
"@type": "Offer"
}
],
"@type": "Subscription"
}
],
"@type": "ProductOrder"
}'
Definitions
name | type | description | required |
---|---|---|---|
note | array | Extra information about a given entity | N |
note.text | string | Text of the note | N |
note.@type | string | Type of entity | N |
channel | array | Related channel to another entity. | N |
channel.name | string | Name of the channel. | N |
productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | N |
productOrderItem.id | string | Identifier of the line item | Y |
productOrderItem.action | string | action to be performed on the product. Note - expected value is "noChange" | Y |
productOrderItem.@type | string | Type of orderItem | N |
productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y |
productOrderItem.product.id | string | Subscription external Id | Y |
productOrderItem.product.name | string | Catalog Item Name (ExternalId) | N |
productOrderItem.product.status | string | Status of product | N |
productOrderItem.product.@type | string | Product type | N |
productOrderItem.productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | Y |
productOrderItem.productOrderItem.id | string | Identifier of the line item, Note - ESB is not passing this value to Matrixx, it's mandatory as pr TMF guidelines. you can pass either empty or any random values | Y |
productOrderItem.productOrderItem.action | string | action to be performed on the product. Note - expected value is "add" | Y |
productOrderItem.productOrderItem.@type | string | Type of product order item | N |
productOrderItem.productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y |
productOrderItem.productOrderItem.product.id | string | Unique identifier of the product | N |
productOrderItem.productOrderItem.product.name | string | Catalog Item Name (ExternalId), Note - ESB is not passing this value to Matrixx (backend system), it's mandatory as pr TMF guidelines. you can pass either empty or any random values | Y |
productOrderItem.productOrderItem.product.status | string | Status of product | N |
productOrderItem.productOrderItem.product.@type | string | Product type | Y |
productOrderItem.productOrderItem.product.productCharacteristic | array | Describes a given characteristic of an object or entity through a name/value pair. Pleases refer below productCharacteristic values for more info. | N |
productOrderItem.productOrderItem.product.productCharacteristic.name | string | Name of the characteristic | N |
productOrderItem.productOrderItem.product.productCharacteristic.value | string | Value of the characteristic | N |
productOrderItem.productOrderItem.product.productCharacteristic.@type | string | characteristic type | N |
productCharacteristic Values
name | type | description | required |
---|---|---|---|
OfferType | string | Offer Type | N |
CommercialPlanCode | string | Commercial Plan Code | N |
CommercialPlanName | string | Commercial Plan Name | N |
OrderItemId | string | Order Item Id | N |
TotalCharge | string | Offer Total Charge | N |
ChargeMethod | string | Charge Method | N |
RolloverSupported | string | Rollover Supported | N |
DataGrant | string | Data Grant | N |
HotspotGrant | string | Hotspot Grant | N |
VoiceGrant | string | Voice Grant | N |
TextGrant | string | Text Grant | N |
MMSGrant | string | MMS Grant | N |
VoiceOriginationLocations | array | Voice Origination Locations | N |
VoiceDestinationLocations | array | Voice Destination Locations | N |
TextOriginationLocations | array | Text Origination Locations | N |
TextDestinationLocations | array | Text Destination Locations | N |
MMSOriginationLocations | array | MMS Origination Locations | N |
MMSDestinationLocations | array | MMS Destination Locations | N |
DataOriginationLocations | array | Data Origination Locations | N |
AutoPayDiscount | string | AutoPay Discount | N |
DataChargePercentage | object | Data Charge Percentage | N |
VoiceChargePercentageIntra | object | Voice Charge PercentageIntra | N |
VoiceChargePercentageInter | object | Voice Charge PercentageInter | N |
SmsChargePercentage | object | Sms Charge Percentage | N |
LifelineDiscountEnrollment | object | Lifeline Discount Enrollment | N |
Note Values
name | type | description | required |
---|---|---|---|
TransactionId | string | unique Transaction Id | N |
ReasonCode | string | Reason of this transaction | N |
Response
{
"state": "completed",
{
"channel": [
{
"name": "SFDC-B2C"
}
],
"note": [
{
"@type": "TransactionId",
"text": "SFDC12345"
}
],
"billingAccount": {
"@type": "BillingAccountRef",
"id": "30005996-31005996001"
},
"relatedParty": [
{
"@type": "CustomerAccountRef",
"id": "31005996001"
}
],
"productOrderItem": [
{
"action": "nochange",
"product": {
"name": "Prepaid Subscription",
"id": "12344321",
"@type": "Subscription",
"status": "active"
},
"id": "802Pl00000NgRTBIA3",
"quantity": 1.0,
"productOrderItem": [
{
"action": "add",
"product": {
"name": "Prepaid_Template_NonShared",
"id": "a4yPl000007T0DYIA0",
"@type": "Offer",
"productCharacteristic": [
{
"name": "OfferType",
"value": "BasePlan",
"@type": "Attr"
},
{
"name": "OrderId",
"value": "1234567"
},
{
"name": "DeferredSettlement",
"value": "false"
},
{
"name": "ChargePurchaseProrationType",
"value": "0"
},
{
"name": "CommercialPlanCode",
"value": "BoostPlan",
"@type": "Attr"
},
{
"name": "CommercialPlanName",
"value": "BoostPlan",
"@type": "Attr"
},
{
"name": "TotalCharge",
"value": "30.00",
"@type": "Attr"
},
{
"name": "AutoPayDiscount",
"value": "0",
"@type": "Attr"
},
{
"name": "DataGrant",
"value": "6096",
"@type": "Attr"
},
{
"name": "HotspotGrant",
"value": "6096.00",
"@type": "Attr"
},
{
"name": "VoiceGrant",
"value": "999999",
"@type": "Attr"
},
{
"name": "TextGrant",
"value": "999999",
"@type": "Attr"
},
{
"name": "MMSGrant",
"value": "999999",
"@type": "Attr"
},
{
"name": "VoiceOriginationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "VoiceDestinationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "TextOriginationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "TextDestinationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "MMSOriginationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "MMSDestinationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "DataOriginationLocations",
"value": [
"0"
],
"@type": "Attr"
},
{
"name": "RolloverSupported",
"value": "True",
"@type": "Attr"
},
{
"name": "DataChargePercentage",
"value": {
"ParameterDefnId": "1",
"value": "0.751",
"@type": "MtxParameterDecimalValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{
"name": "VoiceChargePercentageIntra",
"value": {
"ParameterDefnId": "10",
"value": "0.2289804",
"@type": "MtxParameterDecimalValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{
"name": "VoiceChargePercentageInter",
"value": {
"ParameterDefnId": "11",
"value": "0.0200196",
"@type": "MtxParameterDecimalValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{
"name": "SmsChargePercentage",
"value": {
"ParameterDefnId": "12",
"value": "0",
"@type": "MtxParameterDecimalValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{
"name": "LifelineDiscountEnrollment",
"value": {
"ParameterDefnId": "13",
"value": "False",
"@type": "MtxParameterStringValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount1Term",
"value": {
"ParameterDefnId": "14",
"value": "24",
"@type": "MtxParameterUnsignedInt32Value"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount2Term",
"value": {
"ParameterDefnId": "15",
"value": "3",
"@type": "MtxParameterUnsignedInt32Value"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount1Name",
"value": {
"ParameterDefnId": "16",
"value": "Name1",
"@type": "MtxParameterStringValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount2Name",
"value": {
"ParameterDefnId": "17",
"value": "Name12",
"@type": "MtxParameterStringValue"
},
"@type": "Parameter",
"valueType": "Object"
},
{ // New node added
"name": "Discount1Amount",
"value": "10",
"@type": "Attr"
},
{ // New node added
"name": "Discount2Amount",
"value": "5",
"@type": "Attr"
},
{
"name": "ChargeMethod",
"value": "3"
}
],
"status": "active"
},
"id": "802Pl00000NgRTBIA3",
"@type": "Offer"
}
],
"@type": "Subscription"
}
],
"@type": "ProductOrder"
}
Definitions
name | type | description | required |
---|---|---|---|
state | string | The state of the order | N |
Entire request payload will be appended with state in response | N |